Puyo Puyo for the TI-83 and TI-83+ (Ion) by Kinkachou

Introduction:
Thank you for downloading my program.  This is Puyo Puyo for the TI-83 and 83+ under the shell Ion. In order to run it you'll need to have Ion installed.  This is my first assembly game, so it's not the fastest, nor does it have the best graphics, but it stays true to the original game.  I hope that you enjoy playing it.  

About the game:
Puyo Puyo is a Japanese game that was originally designed by Compile.  I became addicted to the game from the first time I played it when it was released in the USA as "Kirby's avalanche".  I've become quite good at it, so I decided I wanted to program a version of it for my TI-85. I don't own a Gameboy, and i'm too cheap to buy one, so I just made it myself.  Because of the fact that the TI-85 screen is wider than tall, i've flipped the playing field so that puyos 'drop' from the right to the left.  The TI-83 screen is only 3/4 the size of the 85 screen, so there is slightly less playing room, but still the same angle.  Another thing I took into account is that some of you will be playing this game during class.  Therefore, I made all variables permanent so that you can exit the game without losing your place.  Until you hit clear, or you get a game over, you can continue playing on the same game.  I still would suggest paying attention in math class though.

Gameplay instructions: 
The object of the game is to connect 4 of the same type of puyos.  There are 4 types of puyos, a diamond, an X, a black sqare, and a white square.  Every turn you have 2 puyos connected to each other drop from the right of the screen.  You can flip these and place them wherever you want.  Once you have that down, then try to make combinations, and chains.  Just don't let them pile up to where the new puyos come down from.  If it gets in the way of a new puyo, your game will be over.  As the game goes on, you'll get Ojama puyos (they are grey).  These pieces will drop on your pieces, obstructing them.  These puyos will not be set off when more than 4 are connected.  The only way to get rid of them is to set off puyos next to them.  

Scoring:  
For each puyo that is destroyed, you get one point.  If, however, once gravity takes hold on other puyos, and it causes another set to be destroyed, you get double the points. This can continue and get you major points.  Ojama puyos will appear after you have 256 points.  As you get more points, they will occur more frequently.  

Controls:
Menu Screen:
(+) Adds to the slowdown of the game. (max 255-snail speed)
(-) Takes away from slowdown, speeding up the game. (min 0-Speed of light)
(Left key) Makes the screen less wide. (original game width is 6)
(Right key) Makes the screen more wide. (allows for bigger combos)
(Clear) Starts a new game.
(Enter) Continues your old game.
(Del) Exits the game.
Game:
(2nd key) Flips puyo clockwise. (if it can't flip, it'll just switch the 2 puyos)
(ALPHA key) Flips puyo counter-clockwise. (if it can't flip, it'll switch the puyos)
(Up key) Moves the puyo up one space.
(Down key) Moves the puyo down one space.
(Left key) Moves the puyo left one space, instead of waiting for gravity to draw it that way.
(Mode key) Brings you to the menu. (this doesn't end your game, you can continue from there)
(Del) Exits the game.
Game Over screen:
(Del) Starts a new game

About source code: 
I'm including the source code of this program for people who are interested in programming.  I'm a very messy and lazy programmer, so you can tell where I got lazy, where I got messy, and where I just copied and pasted.  I most likely did not comment enough either.  Because the program was later ported to the TI-83, it looks even more haphazardly written.    Please do not e-mail me about how bad my code is, I already know.  In future programs i'll know what to do and what not to do.  However, if you are like me and wonder what your programs are doing, you'll enjoy reading the source.

Japanese notes:
ojama means "something in the way"

Disclaimer:
Game concept and name copyright Compile of Japan.  Although I have played the finished version of the game for hours without a problem, there may still be bugs in the program.  I am not liable for any data loss this game may cause.  Please backup your calculator before installing this program just in case.  If you lose a game and get mad at your calculator and throw it across the room, I am not liable for any damages to your calculator.  Please treat your calculator with care. 


Contacts:
My e-mail address is kanjiteiru@yahoo.com

